Data Structure

This course covers common and advanced topics on data structure, including asymptotic analysis, basic algorithms (divide and conquer, recursion, dynamic programming), sorting (bubble, merge, quick and shell), stack and queue (prefix, infix, postfix notation), binary trees (traversal, B-tree, red-black trees, splay), priority queue (heap sort), binary search tree (AVL), graph (BFS, DFS, dijkstra, kruskal), dictionary (hash function, skip list, bitmap), string (pattern match, KMP, BM). Students practice the usage of these data structures on online judgement system.